package online.flowerinsnow.minecraft.bukkit.testffa.manager;

import online.flowerinsnow.minecraft.bukkit.testffa.stats.IPlayerStats;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.UUID;

/**
 * 玩家数据管理器
 * 用于管理玩家击杀死亡等数据 以及数据库操作
 */
public interface IStatsManager {
    /**
     * 获取一名在线的玩家的战绩
     * 如果玩家不在线 返回null
     *
     * @param player 玩家
     * @return 玩家战绩
     */
    @Nullable IPlayerStats getOnlinePlayerStats(@NotNull Player player);

    /**
     * 获取一名离线的玩家的战绩
     * 如果玩家不存在 返回null
     * 调用该方法时请异步
     *
     * @param uuid 玩家UUID
     * @return 玩家战绩
     */
    @Nullable IPlayerStats getOfflinePlayerStats(@NotNull UUID uuid);
}
